package com.aiwiown.snackmq.common.handler;

import com.aiwiown.snackmq.common.message.Message;
import com.aiwiown.snackmq.common.message.MessageType;

/**
 * 消息处理器的统一接口。
 * 每个实现类负责处理一种特定类型的消息。
 */
public interface MessageHandler {

    /**
     * 处理接收到的消息。
     *
     * @param ctx     一个抽象的请求上下文，与网络框架无关
     * @param message 待处理的消息
     */
    void handle(RequestContext ctx, Message message); // <-- 使用新的 RequestContext

    /**
     * 返回此处理器负责的消息类型。
     *
     * @return 消息类型枚举
     */
    MessageType getMessageType();
}